package BL;

import BE.BEContacto;
import BE.BETipoPaleta;
import BE.BETipoProducto;
import BE.BEZona;
import DA.DACombo;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JComboBox;

public class BLCombo
{
    public Integer id;
    public String nombre;
    public Integer x;
public Integer y;

    public Integer getX() {
        return x;
    }

    public void setX(Integer x) {
        this.x = x;
    }

    public Integer getY() {
        return y;
    }

    public void setY(Integer y) {
        this.y = y;
    }

    public BLCombo () {}

    public BLCombo (Integer id, String nombre)
    {
        this.id = id;
        this.nombre = nombre;
    }

       public BLCombo (Integer id, Integer x,Integer y)
    {
        this.id = id;
        this.nombre=id.toString();
        this.x=x;
        this.y=y;
    }


    public String toString ()
    {
        return this.nombre;
    }

    public void setCombo (String tabla, int tipoCombo, JComboBox combo)
    {
        int idCombo = 0;
        BETipoProducto tipoProd = null;
        List<BETipoProducto> tiposProd = null;
        BEContacto contacto = null;
        List<BEContacto> contactos = null;
        BETipoPaleta tipopaleta = null;
        List<BETipoPaleta> tipospaleta = null;
        BEZona tipoZona = null;
        List<BEZona> tiposZona = null;
        //Obtener Datos de la tabla
        DACombo daCombo = new DACombo();
        ResultSet rs = daCombo.getDatosCombo(tabla);

        //Elegir el combo
        if (tabla.equals("TIPOPRODUCTO")) idCombo = 1;
        if (tabla.equals("CONTACTO")) idCombo = 2;
        if (tabla.equals("TIPOPALETA")) idCombo = 3;
        if (tabla.equals("ZONAS")) idCombo = 4;
        
        //Llenar datos al combo
        if (tipoCombo == 0) //Para el caso de las busquedas
            combo.addItem(new BLCombo(0,"TODOS"));
        else if (tipoCombo == 1) //Para el caso de Agregar o Editar
            combo.addItem(new BLCombo(0,"SELECCIONAR"));

        try
        {
            switch (idCombo)
            {
                case 1:
                    tiposProd = new ArrayList<BETipoProducto>();
                    while (rs.next())
                    {
                        tipoProd = new BETipoProducto();
                        tipoProd.setIdTipoProd(rs.getInt("IDTIPOPRODUCTO"));
                        tipoProd.setTipo(rs.getString("TIPO"));
                        tiposProd.add(tipoProd);
                    }
                    if (tiposProd != null)
                        for (int i=0;i<tiposProd.size();i++)
                            combo.addItem(new BLCombo(tiposProd.get(i).getIdTipoProd(),
                                                      tiposProd.get(i).getTipo()));
                    break;
                case 2:
                    contactos = new ArrayList<BEContacto>();
                    while (rs.next())
                    {
                        contacto = new BEContacto();
                        contacto.setIdPersona(rs.getInt("IDCONTACTO"));
                        contacto.setNombEmpresa(rs.getString("NOMBEMPRESA"));
                        contactos.add(contacto);
                    }
                    if (contactos != null)
                        for (int i=0;i<contactos.size();i++)
                            combo.addItem(new BLCombo(contactos.get(i).getIdPersona(),
                                                      contactos.get(i).getNombEmpresa()));
                    break;
                case 3:
                    tipospaleta = new ArrayList<BETipoPaleta>();
                    while (rs.next())
                    {
                        tipopaleta = new BETipoPaleta();
                        tipopaleta.setIdTipoPaleta(rs.getInt("IDTIPOPALETA"));
                        tipopaleta.setNombre(rs.getString("NOMBRE"));
                        tipospaleta.add(tipopaleta);
                    }
                    if (tipospaleta != null)
                        for (int i=0;i<tipospaleta.size();i++)
                            combo.addItem(new BLCombo(tipospaleta.get(i).getIdTipoPaleta(),
                                                      tipospaleta.get(i).getNombre()));
                    break;
                case 4:
                    tiposZona = new ArrayList<BEZona>();
                    while (rs.next())
                    {
                        tipoZona = new BEZona();
                        tipoZona.setIdZona(rs.getInt("IDZONAS"));
                        tipoZona.setNombre(rs.getString("NOMBRE"));
                        tiposZona.add(tipoZona);
                    }
                    if (tiposZona != null)
                        for (int i=0;i<tiposZona.size();i++)
                            combo.addItem(new BLCombo(tiposZona.get(i).getIdZona(),
                                                      tiposZona.get(i).getNombre()));
                    break;
            }

        } catch (Exception e) { }
    }
}
